using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Globalization;

public partial class Secretaria_Periodos : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        cboSede.seleciona += new cboSelected(cboSede_seleciona);
        CboTipoPlanilla.seleciona += new cboSelected(CboTipoPlanilla_seleciona);
        if (!IsPostBack)
        {
            if (biFactory.User().IdSede > 0)
            {
                cboSede.BindCBO();
                cboSede.Value = biFactory.User().IdSede.ToString();
                if (biFactory.User().IdPerfil > 0)
                    cboSede.Enabled = false;
                //cargo el las planillas segun el idsede
                cboSede_seleciona("1", "1");
            }
        }
    }

    void CboTipoPlanilla_seleciona(string param1, string param2)
    {
        showview();
    }

    void cboSede_seleciona(string param1, string param2)
    {
        CboTipoPlanilla.SourceData = "proc_getTipoPlanillaSede " + cboSede.Value;
        CboTipoPlanilla.NameId = "idTipoPlanilla";
        CboTipoPlanilla.NameDescript = "Detalle";
        CboTipoPlanilla.TipoOrigen = Controles_cboGeneric.TipoSource.Procedure;
        CboTipoPlanilla.BindCBO();
    }

    private void showview()
    {
        DataTable dt = SchoolsBI.Materia.Tabla("proc_GetPeriodos " + cboSede.Value + "," + CboTipoPlanilla.Value);
        GridView1.DataSource = dt;
        GridView1.DataBind();
        cmdGuardar.Visible = (dt.Rows.Count > 0);
    }
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            int estado = Convert.ToInt16(DataBinder.Eval(e.Row.DataItem, "estado"));
            if (estado == 1)
            {
                e.Row.BackColor = System.Drawing.Color.FromArgb(252, 211, 155);
                ((CheckBox)e.Row.FindControl("ckhBox")).Checked = true;
            }

            
            if (Convert.ToInt16(DataBinder.Eval(e.Row.DataItem, "idtipo")) == 1)
            {
                e.Row.BackColor = System.Drawing.Color.FromArgb(252, 100, 155);
                ((CheckBox)e.Row.FindControl("ckhBoxcua")).Checked = true;
            }

            
        }
    }
    protected void cmdGuardar_Click(object sender, EventArgs e)
    {
        Guardar();
    }

    private void Guardar()
    {
        //recorrrer todo los items 
        Periodos p = new Periodos();
        p.idTipoPlanilla = CboTipoPlanilla.ValueInt;
        p.IdSede = cboSede.ValueInt;
        
        p.FechaDesde = Convert.ToDateTime(fechaDesde.Text.Split('/')[1]+'-'+ fechaDesde.Text.Split('/')[0]+ '-'+ fechaDesde.Text.Split('/')[2] );
        p.FechaHasta = Convert.ToDateTime(fechahasta.Text.Split('/')[1] + '-' + fechahasta.Text.Split('/')[0] + '-' + fechahasta.Text.Split('/')[2]);
        p.NroPeriodo = int.Parse(txtNroPeriodo.Text);
        p.OrdenPeriodo  = int.Parse(txtNroOrden.Text);
        p.Particion ="Cuatrimestral";
        p.Descripcion="Cuatrimestral";
        p.Activa = 1;
        p.Estado = "1";
        p.Anio = 2008;
        p.Crear();  
        //marcar este periodo como cuatrimestral

        
        showview();
    }
    protected void cmdGuardarTipo_Click(object sender, EventArgs e)
    {
        
        foreach (GridViewRow rg in GridView1.Rows)
        {

            CheckBox estado = (CheckBox)rg.FindControl("ckhBoxcua");
            Periodos p = Periodos.Buscar("idperiodo = " + GridView1.DataKeys[rg.RowIndex].Value);
            if (estado.Checked)
            {
                p.Estado = "1"; 
            }
            else {
                p.Estado = "0";
            };
            p.Actualizar();
        }
    }
}
